<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// why 原型链？
  // 面试问题：原型链有什么用？
  // 1. 构造函数.prototype 上的属性和方法 可以被 实例对象使用
  // 2. Object.prototype 上的属性和方法 也能被 实例对象使用
    // 1 和 2 形成了一个“层级”关系，两个 原型对象上的 属性和 方法都可以被 实例对象所共享
      // 就形成了：1.「继承」   
      // 2. Array.prototype.toString   、 Object.prototype.toString  ->  
        // 实例对象通过「继承」有了 toString，但若原型链上有多个 toString，实例对象使用 最靠近自己的原型对象上的那个方法
          // 这就叫「多态」。  解释：同名函数，不同对象上，表现出的“行为”不一样，即为「多态」。

// 原型链的终极奥义：为了实现面向对象的思想  -  继承 和 多态。
</script>